package com.zmn.oms.model.vo.conf.distributereason;

import com.alibaba.fastjson.annotation.JSONField;
import com.zmn.oms.model.entity.conf.distributereason.ConfRedistributeStep;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.dozer.Mapping;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 改派配置
 *
 * @author
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ConfOrderDistributeReasonVO implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    private Integer id;

    /**
     * 平台，多个逗号分隔
     */
    private String plat;

    /**
     * 缘由
     */
    private String reason;


    /**
     * 订单类型（多个用逗号分隔）：1. 新单 2. 返修单
     */
    private String orderType;

    /**
     * 订单类型名称（多个用逗号分隔）
     */
    private String orderTypeName;

    /**
     * 发起人类型（多个用逗号分隔）：1. 运营后台 2. 工程师 3. 系统
     */
    private String applyType;

    /**
     * 发起人类型名称（多个用逗号分隔）
     */
    private String applyTypeName;

    /**
     * 责任归属：1：原工程师 2：当前工程师
     */
    private Integer liableType;

    /**
     * 责任归属：1：原工程师 2：当前工程师
     */
    private String liableTypeName;

    /**
     * 工程师改派流程
     */
    @Mapping("this")
    private ConfRedistributeStep engineerRedistributeStep;

    /**
     * 系统改派流程
     */
    @Mapping("this")
    private ConfRedistributeStep systemRedistributeStep;

    /**
     * 是否计入轮次：1. 不计入 2. 计入
     */
    private Integer countEnable;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 状态：1停用，2启用
     */
    private Integer status;


    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    private String creater;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    private String updater;

}